package com.atguigu;

/**
 * @author leimingchao
 * @create 2021-04-08 19:40
 * 基本数据类型之间的运算规则：
 * 前提：这里讨论的只是7种基本数据类型变量之间的运算，不包含boolean类型的
 *     1.自动类型提升
 *         结论：当容量小的数据类型的变量与容量大的数据类型的变量做运算时，结果自动提升为容量大的数据类型
 *          byte，char，short---->int---->long---->float---->double
 *          特别的:当byte，char，short三种类型的变量做运算时，结果都为int类型
 *
 *
 *
 *     2.强制类型转换：见VariableTest3.java文件
 *
 *
 * 说明：此时的容量大小指的是：表示数的范围大和小。比如：float容量要大于long的容量
 */
public class VariableTest2 {

    public static void main(String[] args) {
        byte b1 = 2;
        int i = 129;
        //编译不通过
//        byte b2 = b1 + i;
        int b2 = b1 + i;
        System.out.println(b2);

        long b3 = b1 + i;
        System.out.println(b3);

        float b4 = b1 + i;
        System.out.println(b4);


        short s1 = 123;
        double d1 = s1;
        System.out.println(d1);

        //************特别地************
        //97
        char c1 = 'a';
        int i3 = 10;
        int i4 = c1 + i3;
        System.out.println(i4);

        short s2 = 10;

        //编译不通过
        //char s3 = s2 + c1;

        byte b5 = 10;
        //编译不通过
        //char c3 = c1 + b5;

        //编译不通过
        //short s4= b5 + s2;

        //编译不通过
        //byte s5=b1 + b5;
        //****************************************
    }

}
